package Day35.map.mapTest;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/**
 * @author hyhWTX
 * @version 1.0
 * @ClassName Test02
 * @date 2022年08月06日 19:31
 * @Description: 2.    利用Map，完成下面的功能：
 * (1) 从命令行读入一个字符串，表示一个年份，输出该年的世界杯冠军是哪支球队。如果该年没有举办世界杯，则输出：没有举办世界杯。
 * (2) 在原有世界杯Map 的基础上，增加如下功能：
 * 读入一支球队的名字，输出该球队夺冠的年份列表。
 * 例如，读入“巴西”，应当输出 1958 1962 1970 1994 2002
 * 读入“荷兰”，应当输出 没有获得过世界杯。
 */
public class Test02 {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<>();
        Scanner in = new Scanner(System.in);
        map.put(1930,"乌拉圭");
        map.put(1934,"意大利");
        map.put(1938,"意大利");
        map.put(1950,"乌拉圭");
        map.put(1954,"西德");
        map.put(1958,"巴西");
        map.put(1962,"巴西");
        map.put(1966,"英格兰");
        map.put(1970,"巴西");
        map.put(1974,"西德");
        map.put(1978,"阿根廷");
        map.put(1982,"意大利");
        map.put(1986,"阿根廷");
        map.put(1990,"西德");
        map.put(1994,"巴西");
        map.put(1998,"法国");
        map.put(2002,"巴西");
        map.put(2006,"意大利");
        map.put(2010,"西班牙");
        map.put(2014,"德国");
        showYear((HashMap<Integer, String>) map,in);
        showCity((HashMap<Integer, String>) map,in);


    }
    public static void showCity(HashMap<Integer,String>map,Scanner in){
        System.out.println("请输入获得冠军的国家：");
        String s = in.next();
        //通过键盘输入的value值，与存储在map中的value进行比较，若value相同，则返回key，若不同，则循环继续。当遍历完所有的value，循环结束，返回与value值相对应的key，并输出
        Set<Map.Entry<Integer, String>> entries = map.entrySet();
        for (Map.Entry<Integer, String> entry : entries) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            if (value.equals(s)){
                System.out.println(key);
            }
        }
    }
    public  static  void showYear(HashMap<Integer,String>map,Scanner in){
        System.out.println("请输入一个年份：");
        int i = in.nextInt();
        if (map.containsKey(i)){
            System.out.println(map.get(i));
        }
    }
}
